/****************************************
*
*	EoSC_AIPawn
*	
*	Handles the different types of AI Pawns.
*	For now its just a simple Test Pawn.
*
*	ToDo:
*	Build it.
*
****************************************/

class EoSC_AIPawn extends UDKPawn
	placeable;

// Light environment for our AIPawn
var(AIPawn) const LightEnvironmentComponent LightEnvironment;

// Give him the default weapon for now.
function AddDefaultInventory()
{
    InvManager.CreateInventory(class'EoSCelest.EoSC_Handgun');
}

// Add the DefaultInventory
event PostBeginPlay()
{
    super.PostBeginPlay();
    AddDefaultInventory(); //GameInfo calls it only for players, so we have to do it ourselves for AI.
}

defaultproperties
{
	// Remove the Editor Sprite
	Components.Remove(Sprite)

	// Adding the LightEnvironment
	Begin Object Class=DynamicLightEnvironmentComponent Name=MyLightEnvironment
		bSynthesizeSHLight=true
		bIsCharacterLightEnvironment=true
		bUseBooleanEnvironmentShadowing=false
		InvisibleUpdateTime=1.f
		MinTimeBetweenFullUpdates=0.2f
	End Object
	LightEnvironment=MyLightEnvironment
	Components.Add(MyLightEnvironment)

	// Setting up the AIPawn
    Begin Object Name=CollisionCylinder
	CollisionHeight=+44.000000
    end object
		Begin Object class=SkeletalMeshComponent Name=EoSCAIPawnSkeletalMesh
		SkeletalMesh=SkeletalMesh'CH_IronGuard_Male.Mesh.SK_CH_IronGuard_MaleA'
		AnimSets(0)=AnimSet'CH_AnimHuman.Anims.K_AnimHuman_BaseMale'
		AnimTreeTemplate=AnimTree'CH_AnimHuman_Tree.AT_CH_Human'
		HiddenGame=FALSE 
		HiddenEditor=FALSE
		bCacheAnimSequenceNodes=false
		AlwaysLoadOnClient=true
		AlwaysLoadOnServer=true
		CastShadow=true
		BlockRigidBody=true
		bUpdateSkelWhenNotRendered=true
		bIgnoreControllersWhenNotRendered=false
		bUpdateKinematicBonesFromAnimation=true
		bCastDynamicShadow=true
		RBChannel=RBCC_Untitled3
		RBCollideWithChannels=(Untitled3=true)
		LightEnvironment=MyLightEnvironment
		bAcceptsDynamicDecals=false
		bHasPhysicsAssetInstance=true
		TickGroup=TG_PreAsyncWork
		MinDistFactorForKinematicUpdate=0.2f
		bChartDistanceFactor=true
		RBDominanceGroup=20
		bUseOnePassLightingOnTranslucency=true
		bPerBoneMotionBlur=true
    End Object
    Mesh=EoSCAIPawnSkeletalMesh
    Components.Add(EoSCAIPawnSkeletalMesh)

    ControllerClass=class'EoSCelest.EoSC_AIController'
    InventoryManagerClass=class'EoSCelest.EoSC_InventoryManager'

    bJumpCapable=true
    bCanJump=true
    GroundSpeed=250.0	//Making the bot a bit slower than the player so that the player can escape. Player is at 300
	MaxStepHeight=32.0	// Mostly used for Stairs so dont make your stairs higher than 32UU.
	MaxJumpHeight=64.0	// If an obstacle is higher than 64UU the pawn will walk around it. Otherwise he will jump over it, of course if jump is enabled.
	
}